package it.unipd.dei.bd.icineasti.database;

import it.unipd.dei.bd.icineasti.resource.Listino;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Aggiorna un Listino, un abbonamento in Listino, dato il Tipo
 * 
 * @author Morris Antonello
 */
public class UpdateAbbonamentoInListinoDatabase {
	/**
	 * Aggiornamento
	 */
	private static final String STATEMENT = "UPDATE Listino " +
											"SET PrezzoListino = ?, TotaleIngressi = ? " +
											"WHERE Tipo = ?";
	
	/**
	 * Connessione al database
	 */
	private final Connection con;
	
	private final Listino listino;

	public UpdateAbbonamentoInListinoDatabase(Connection con, Listino listino) {
		this.con = con;
		this.listino = listino;
	}

	public void updateListino() throws SQLException {

		PreparedStatement pstmt = null;

		try {
			pstmt = con.prepareStatement(STATEMENT);
			pstmt.setBigDecimal(1, listino.getPrezzoListino());
			pstmt.setInt(2, listino.getTotaleIngressi());
			pstmt.setString(3, listino.getTipo());

			pstmt.executeUpdate();
			
		} finally {
			if (pstmt != null) {
				pstmt.close();
			}
			
			con.close();
		}
	}
}
